package com.quanyan.comment.reqeust;

import org.hibernate.validator.constraints.NotBlank;

import javax.validation.constraints.NotNull;
import java.io.Serializable;
import java.util.List;
import java.util.Map;

/**
 * Created by Administrator on 2016/5/26.
 * 评论请求参数
 */
public class ReqCommentParam implements Serializable{


    /**  来源系统编码 不能为空 **/
    @NotBlank(message = "systemCode系统编码不能为空")
    private String systemCode;

    /** 来源业务编码 不能为空 **/
    @NotBlank(message = "businessCode业务编码不能为空")
    private String businessCode;

    /** 业务id 不能为空 **/
    @NotNull(message = "具体业务businessId不能为空")
    private Integer businessId;

    /** 评论类型  不为空**/
    @NotNull(message = "commentType不能为空1：评论 2：回复")
    private Integer commentType = 1;

    /** 评论人 不为空**/
    @NotNull(message = "fromUserId不能为空")
    private Integer fromUserId;

    /** 被评论用户  如果评论类型为评论，可为空 **/
    private Integer toUserId = 0;

    /** 评论内容 **/
    private String commentContent = "";

    /** 分数 可为空**/
    private Double score = 0.0;

    /**回复评论 id 可为空 （如果是类型评论） **/
    private Integer replayId = 0;
    /**
     * 通用参数
     */
    private Integer commonParam;

    /**
     * 场馆订单号可为空
     */
    private String orderNo;
    /**
     * 图片路径 可为空
     */
    private List<String> lstPic;

    /**评论详情打分项  可为空 **/
    private List<Map<String,Object>> lstCommentDetailScore;

    /**
     * 1 匿名 0 默认不匿名
     */
    private byte anonymous = 0;


    /**
     * 标签id
     */
    private List<Integer> lstTagId;


    public List<Integer> getLstTagId() {
        return lstTagId;
    }

    public void setLstTagId(List<Integer> lstTagId) {
        this.lstTagId = lstTagId;
    }

    public byte getAnonymous() {
        return anonymous;
    }

    public void setAnonymous(byte anonymous) {
        this.anonymous = anonymous;
    }

    public Integer getReplayId() {
        return replayId;
    }

    public void setReplayId(Integer replayId) {
        this.replayId = replayId;
    }

    public Integer getCommentType() {
        return commentType;
    }

    public void setCommentType(Integer commentType) {
        this.commentType = commentType;
    }

    public Integer getFromUserId() {
        return fromUserId;
    }

    public void setFromUserId(Integer fromUserId) {
        this.fromUserId = fromUserId;
    }

    public Integer getToUserId() {
        return toUserId;
    }

    public void setToUserId(Integer toUserId) {
        this.toUserId = toUserId;
    }

    public String getCommentContent() {
        return commentContent;
    }

    public void setCommentContent(String commentContent) {
        this.commentContent = commentContent;
    }

    public Double getScore() {
        return score;
    }

    public void setScore(Double score) {
        this.score = score;
    }

    public List<Map<String, Object>> getLstCommentDetailScore() {
        return lstCommentDetailScore;
    }

    public void setLstCommentDetailScore(List<Map<String, Object>> lstCommentDetailScore) {
        this.lstCommentDetailScore = lstCommentDetailScore;
    }
    public Integer getCommonParam() {
        return commonParam;
    }

    public void setCommonParam(Integer commonParam) {
        this.commonParam = commonParam;
    }

    public String getOrderNo() {
        return orderNo;
    }

    public void setOrderNo(String orderNo) {
        this.orderNo = orderNo;
    }

    public List<String> getLstPic() {
        return lstPic;
    }

    public void setLstPic(List<String> lstPic) {
        this.lstPic = lstPic;
    }

    public String getSystemCode() {
        return systemCode;
    }

    public void setSystemCode(String systemCode) {
        this.systemCode = systemCode;
    }

    public String getBusinessCode() {
        return businessCode;
    }

    public void setBusinessCode(String businessCode) {
        this.businessCode = businessCode;
    }

    public Integer getBusinessId() {
        return businessId;
    }

    public void setBusinessId(Integer businessId) {
        this.businessId = businessId;
    }

    @Override
    public String toString() {
        return "ReqCommentParam{" +
                "commentType=" + commentType +
                ", fromUserId=" + fromUserId +
                ", toUserId=" + toUserId +
                ", commentContent='" + commentContent + '\'' +
                ", score=" + score +
                ", replayId=" + replayId +
                ", commonParam=" + commonParam +
                ", orderNo='" + orderNo + '\'' +
                ", lstPic=" + lstPic +
                ", lstCommentDetailScore=" + lstCommentDetailScore +
                '}';
    }
}
